package com.dao;

import java.util.List;

public interface BaseDaoInterface<T> {
    /**
     * 根据内容全字段模糊分页查询
     *
     * @param begin    当前页码
     * @param pageSize 每页显示的数量
     * @param content  查询内容
     * @return 返回一个当前页面的数据
     */
    List<T> selectForPageItems(int begin, int pageSize, String content);

    /**
     * 获得总记录条数
     *
     * @param content 查询内容
     * @return 返回总记录数
     */
    Integer selectForPageTotalCount(String content);

    /**
     * 根据现有的查询信息
     *
     * @param record 对象
     * @return 如果返回null, 说明没有这个用户。反之亦然
     */
    T selectBy(T record);

    /**
     * 保存信息
     *
     * @param record 职务
     * @return 返回-1 表示操作失败，其他是sql语句影响的行数
     */
    int insert(T record);

    /**
     * 删除信息
     *
     * @param id 编号
     * @return 返回-1 表示操作失败，其他是sql语句影响的行数
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 修改信息
     *
     * @param record 管理员
     * @return 返回-1 表示操作失败，其他是sql语句影响的行数
     */
    int updateByPrimaryKey(T record);
}
